

package com.kimo.shop.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kimo.shop.bean.model.AttachFile;
import com.kimo.shop.common.util.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 文件表mapper
 * @author kimo-taozhouchuan
 */
public interface AttachFileMapper extends BaseMapper<AttachFile> {

    /**
     * 分页获取文件数据列表
     *
     * @param page       分页参数
     * @param attachFile 文件搜索参数
     * @return 文件分页结果列表
     */
    IPage<AttachFile> getPage(PageParam<AttachFile> page, @Param("attachFile") AttachFile attachFile);

    /**
     * 更新文件名称与分组
     *
     * @param attachFile
     * @return
     */
    Boolean updateFile(@Param("attachFile") AttachFile attachFile);

    /**
     * 批量更新文件的分组
     *
     * @param attachFileGroupId
     */
    void updateBatchByAttachFileGroupId(@Param("attachFileGroupId") Long attachFileGroupId);

    /**
     * 根据id列表获取文件信息列表
     *
     * @param ids
     * @return
     */
    List<AttachFile> getByIds(@Param("ids") List<Long> ids);

    /**
     * 根据id列表批量删除文件记录
     *
     * @param ids
     */
    void batchDeleteByIds(@Param("ids") List<Long> ids);

    /**
     * 根据店铺id与文件id列表与分组id批量移动文件
     *
     * @param ids
     * @param groupId
     */
    void batchMoveByShopIdAndIdsAndGroupId(@Param("ids") List<Long> ids, @Param("groupId") Long groupId);

}
